Memory devices are typically provided as internal, semiconductor, integrated circuits in computers or other electronic devices. There are many different types of memory including random-access memory (RAM), read only memory (ROM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and flash memory.
Flash memory devices have developed into a popular source of non-volatile memory for a wide range of electronic applications. Flash memory devices typically use a one-transistor memory cell that allows for high memory densities, high reliability, and low power consumption. Common uses for flash memory include personal computers, personal digital assistants (PDAs), digital cameras, and cellular telephones. Program code and system data such as a basic input/output system (BIOS) are typically stored in flash memory devices for use in personal computer systems.
As the performance and complexity of electronic systems increase, the requirement for additional memory in a system also increases. However, in order to continue to reduce costs of the system, the parts count must be kept to a minimum. This can be accomplished by increasing the memory density of an integrated circuit by utilizing technologies such as using a multiple level cell (MLC) in place of one or more single level cell (SLC). For example, MLC NAND flash memory is a cost-effective non-volatile memory.
MLCs take advantage of the analog nature of a traditional flash cell by assigning a bit pattern to a specific threshold voltage (Vt) range stored on the cell. This technology permits the storage of two or more bits per cell, in comparison to the one bit per cell stored on a SLC, the storage capability depending on the quantity of voltage ranges assigned to the cell and the stability of the assigned voltage ranges during the lifetime operation of the MLC.
For example, a MLC may be assigned four different voltage ranges of 200 mV for each range. A dead space of margin of 200 mV to 400 mV can be placed between each range to prevent the Vt distributions from overlapping. If the voltage stored on the cell is within the first range, the cell is storing a logical 11 state and can be considered the erased, or unprogrammed, state of the cell.
If a programming voltage exceeds a first potential threshold of a MLC and elevates the stored voltage in the cell such that it is within the second range, a lower page of the cell is storing a logical 10 state, which correlates with a one bit SLC going from a 1 erased state to a 0 programmed state. This can continue for as many ranges as the MLC has capacity for storing. For example, a two bit MLC can store elevated voltages in upper page ranges such that exceeding a second potential threshold can cause the cell to store a logical 00 programmed state and exceeding a third potential threshold can cause the cell to store a logical 01 programmed state. Hypothetically, as many levels as desired can be added to a MLC, so long as they remain stable during the operational lifetime of the non-volatile memory cell.
A current limitation on including additional levels on MLCs, however, is a coupling between gates along the same bit line. Such coupling can be induced by marked potential differences between adjacent gates. For example, a two bit MLC having stored voltage in a range sufficient to result in an upper page 01 logical state can couple with an adjacent select gate having a lower potential (e.g., at ground level). Such coupling can cause current leakage that results in lowering voltage stored in a MLC into a range of a different logical state and consequent errors in reading the stored data.